use anyhow::Result;
use std::path::Path;
use tklog::{ASYNC_LOG, debug, error, info, warn, LogOption, LEVEL};

pub async fn init_logger() -> Result<()> {
    // 创建日志目录
    let log_dir = "logs";
    if !Path::new(log_dir).exists() {
        std::fs::create_dir_all(log_dir)?;
    }

    // 设置 tklog 配置
    // tklog 会自动处理日志输出到控制台
    // 对于文件输出，我们可以使用环境变量或配置文件

    info!("Logger initialized with tklog");
    ASYNC_LOG.set_console(true)
        .set_level(LEVEL::Debug)
        .set_cutmode_by_size("logs/app.log",100 * 1024 * 1024, 10, false)
        .await
        .uselog();

    Ok(())
}
